package collect;

import java.util.*;

public class MultichamberCollect {
    //集合嵌套
    public static void main(String[] args) {
        //创建map集合
        HashMap<String, ArrayList<String>> hm = new HashMap<>();
        //创建ArrayList集合用于添加所有该省的城市
        ArrayList<String> list1 = new ArrayList<>();
        //批量添加城市
        Collections.addAll(list1, "西安", "宝鸡市", "咸阳市", "铜川市", "渭南市", "延安市", "榆林市", "汉中市", "安康市", "榆林市", "商洛市");
        //创建ArrayList集合用于添加所有该省的城市
        ArrayList<String> list2 = new ArrayList<>();
        //批量添加城市
        Collections.addAll(list2, "宝鸡市", "咸阳市", "铜川市", "渭南市", "延安市", "榆林市", "汉中市", "安康市", "榆林市", "商洛市");
        //将省会作为键，城市所在集合作为值添加到map集合
        hm.put("陕西省", list1);
        hm.put("河南省", list2);
        //取出所有的键值对对象添加到set集合
        Set<Map.Entry<String, ArrayList<String>>> entries = hm.entrySet();
        //使用增强for遍历键值对
        for (Map.Entry<String, ArrayList<String>> entry : entries) {
            //获取键值对对象调用getKey（）取出键
            String key = entry.getKey();
            //用键值对对象获取值添加到单列集合
            ArrayList<String> value = entry.getValue();
            //中间用逗号隔开，前后裸漏
            StringJoiner sb = new StringJoiner(",", "", "");
            //遍历城市集合
            for (String s : value) {
                //拼接字符串
                sb.add(s);
            }
            //打印
            System.out.println(key + "=" + sb);
        }
    }
}

